﻿// <copyright file="TTestTableEntityFoo.cs" company="N/A">
//     Copyright (c) Nicholas Barrett and Benjamin Kasten.  All rights reserved.
//
//     This program is free software; you can redistribute it and/or modify it
//     under the terms of the GNU General Public License as published by the
//     Free Software Foundation; either version 2 of the License, or (at your
//     option) any later version.
//
//     This program is distributed in the hope that it will be useful, but
//     WITHOUT ANY WARRANTY; without even the implied warranty of
//     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
//     Public License for more details.
//
//     You should have received a copy of the GNU General Public License along
//     with this program; if not, write to the Free Software Foundation, 
//     Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// </copyright>

namespace BetterAzureTableStorage.Tests
{
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    public enum TTestEnum
    {
        Value1,
        Value2,
        Value3,
        Value4
    }

    /// <summary>
    /// A descendent class for testing
    /// </summary>
    [TypeId(2)]
    public class TTestTableEntityFoo : TTestTableEntityAncestor
    {
        public TTestTableEntityFoo()
        {
            this.Dots = new List<TTestTableEntityDot>();
        }

        /// <summary>
        /// Gets or sets the Foo Property
        /// </summary>
        public Guid FooProperty { get; set; }

        /// <summary>
        /// Gets or sets the Enum Property
        /// </summary>
        public TTestEnum EnumProperty { get; set; }

        [System.ComponentModel.DataAnnotations.Association("FOO_DOT_Dots_LINK", "RowKey", "LinkRowKey")]
        [TTableTestIgnoreAttribute]
        public IList<TTestTableEntityDot> Dots { get; set; }

        [System.ComponentModel.DataAnnotations.Association("FOO_DOT_One_LINK", "TestID", "TestID")]
        [TTableTestIgnoreAttribute]
        public TTestTableEntityDot One { get; set; }
    }
}
